home *** CD-ROM | disk | FTP | other *** search
/ Aminet 23 / Aminet 23 (1998)(GTI - Schatztruhe)[!][Feb 1998].iso / Aminet / comm / tcp / TCP_Start_Stop.lha / TCP_Start_Stop / bin / startnet next >
Encoding:
AmigaDOS Script File  |  1997-11-12  |  4.2 KB  |  170 lines

  1. .KEY DIAL,USER/K,HOSTNAME/K,POPHOST/K,FORCE/S,SAFER/S,INETD/S,RESET/S,POPONLY/S,STACKONLY/S,EXIT/S,DEBUG/S,TCPARGS/K/F
  2. .BRA {
  3. .KET }
  4. .DEF DIAL new
  5. .DEF USER joe
  6. .DEF HOSTNAME localhost
  7. .DEF POPHOST mail.{DIAL}.nl
  8.  
  9. ; $VER: startnet 1.9 (10.11.97) multi-provider, interactive password, etc, etc, etc.
  10.  
  11. ; **** command line arguments ****************************
  12. ; *                                                      *
  13. ; *       DIAL/K ... postfix for DIAL and POPARGS files  *
  14. ; *       USER/K ... Amiga login name                    *
  15. ; *   HOSTNAME/K ... local hostname                      *
  16. ; *    POPHOST/K ... AmiPOP POPHost                      *
  17. ; *      FORCE/S ... force enter new password            *
  18. ; *      SAFER/S ... delete password after use           *
  19. ; *      INETD/S ... Start the internet `super server'   *
  20. ; *      RESET/S ... Send RESET to AmiTCP                *
  21. ; *    POPONLY/S ... (re)start AmiPOP                    *
  22. ; *  STACKONLY/S ... start TCP/IP stack, nothing else    *
  23. ; *       EXIT/S ... abort shell after use               *
  24. ; *      DEBUG/S ... type the DIALSTRING, nothing else   *
  25. ; *  TCPARGS/K/F ... optional AmiTCP argument(s)         *
  26. ; *                                                      *
  27. ; ********************************************************
  28.  
  29. ;--- Login on Amiga
  30. If "$USER" EQ "*$USER"
  31.   Echo "login: {USER}"
  32. EndIf
  33. login -f {USER}
  34. umask 022
  35.  
  36. If {STACKONLY}
  37.   Skip StartTCP
  38. EndIf
  39.  
  40. ;--- check DIAL exist
  41. If "${DIAL}DIAL" EQ "*${DIAL}DIAL"
  42.   Echo "DIAL *"{DIAL}*" not found"
  43.   Skip Cleanup
  44. EndIf
  45.  
  46. ;--- Ask for password
  47. If {FORCE}
  48.   FileNote >NIL: ENV:{DIAL}DIAL "" ; delete old password
  49. EndIf
  50. If "`List ENV:{DIAL}DIAL LFORMAT %C`" NOT EQ "NOPASSWORD"
  51.   If "`List ENV:{DIAL}DIAL LFORMAT %C`" EQ ""
  52.     Echo "*N{DIAL} password: *E[40;30m" NOLINE
  53.     FileNote >NIL: ENV:{DIAL}DIAL ?
  54.     Echo "*E[40;31m"
  55.   EndIf
  56. EndIf
  57.  
  58. If {POPONLY}
  59.   Skip StartPOP
  60. EndIf
  61.  
  62. ;--- make dialscript
  63. If "`List ENV:{DIAL}DIAL LFORMAT %C`" EQ "NOPASSWORD"
  64.   Echo "${DIAL}DIAL" TO T:DIALSCRIPT
  65. Else
  66.   List TO T:DIALSCRIPT ENV:{DIAL}DIAL LFORMAT "TIMEOUT 1500*NREDIAL BUSY*NREDIALDELAY 50*N${DIAL}DIAL %C"
  67. EndIf
  68. If "${DIAL}DIAL2" NOT EQ "*${DIAL}DIAL2"
  69.   Echo >>T:DIALSCRIPT "${DIAL}DIAL2"
  70. EndIf
  71.  
  72. If {DEBUG}
  73.   Type T:DIALSCRIPT NUMBER
  74.   Skip Cleanup
  75. EndIf
  76.  
  77. ;--- Start TCP/IP stack
  78. Lab StartTCP
  79. If "$HOSTNAME" NOT EQ "*$HOSTNAME"
  80.   Echo "net still running"
  81.   Skip Cleanup
  82. EndIf
  83.  
  84. Assign >NIL: TCP: EXISTS
  85. If WARN
  86.   AmiTCP:AmiTCP {TCPARGS} ; Start AmiTCP
  87.   WaitForPort AMITCP
  88.   Mount TCP: FROM AmiTCP:Devs/Inet-Mountlist
  89. Else
  90.   If {RESET}
  91.     rx "address AMITCP; RESET" ; Send "RESET" to AmiTCP
  92.   EndIf
  93. EndIf
  94.  
  95. ;--- Configure loop-back device
  96. ifconfig lo0 {HOSTNAME}
  97.  
  98. If {STACKONLY}
  99.   Skip SetHostName
  100. EndIf
  101.  
  102. ;--- connect
  103. FailAt 21
  104. online ppp0
  105. If ERROR
  106.   FailAt 10
  107.   Echo "ppp0 not connected to DIAL *"{DIAL}*""
  108.   Skip Cleanup
  109. EndIf
  110. FailAt 10
  111.  
  112. ifconfig ppp0 $ppp0IPLocal $ppp0IPRemote ; Configure ppp0
  113.  
  114. route >NIL: add $ppp0IPLocal {HOSTNAME} ; Add route to this host
  115.  
  116. route >NIL: add default $ppp0IPRemote ; Add route to the default gateway
  117.  
  118. ;--- Start AmiPOP
  119. Lab StartPOP
  120. If "${DIAL}POPARGS" EQ "*${DIAL}POPARGS"
  121.   If {POPONLY}
  122.     Echo "no POPARGS for DIAL *"{DIAL}*""
  123.   EndIf
  124. Else
  125.   If {DEBUG}
  126.     Echo "POPARGS: Password=`List ENV:{DIAL}DIAL LFORMAT %C` ${DIAL}POPARGS POPHost={POPHOST} MailBox=HOME:{DIAL}.mbox Port=110 CX_Popkey=*"ctrl lalt '*" WinX=50 WinY=50"
  127.   Else
  128.     Run >NIL: AmiPOP Password=`List ENV:{DIAL}DIAL LFORMAT %C` ${DIAL}POPARGS POPHost={POPHOST} MailBox=HOME:{DIAL}.mbox Port=110 CX_Popkey="ctrl lalt '" WinX=50 WinY=50
  129.   EndIf
  130. EndIf
  131. If {POPONLY}
  132.   Skip Cleanup
  133. EndIf
  134.  
  135. Lab SetHostName
  136. If {STACKONLY}
  137.   rx "address AMITCP; SET HOSTNAME '{HOSTNAME}'"
  138. Else
  139.   rx "address AMITCP; SET HOSTNAME Word('`resolve $ppp0IPLocal`',3)"
  140. EndIf
  141. SetEnv HOSTNAME `hostname`
  142.  
  143. ;--- Start servers
  144. If {INETD}
  145.   If NOT "`Status COM=inetd'"
  146.     Echo "super server allready running"
  147.   Else
  148.     Run >NIL: inetd ; Start the internet `super server'
  149.   EndIf
  150.   If NOT "`Status COM=aws:aws'"
  151.     Echo "web server allready running"
  152.   Else
  153.     Run >NIL: aws:aws ; Start the web server
  154.   EndIf
  155. EndIf
  156.  
  157. Lab Cleanup
  158.  
  159. Delete >NIL: T:DIALSCRIPT ;remove dialscript
  160.  
  161. If {SAFER}
  162.   FileNote ENV:{DIAL}DIAL "" ; remove password
  163. EndIf
  164.  
  165. If {EXIT}
  166.   EndCLI >NIL: ; remove shell
  167. EndIf
  168.  
  169. Unset TCPNEW
  170.